package com.stark.wechat.service.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.stark.wechat.dao.TemplateMapper;
import com.stark.wechat.domain.Template;
import com.stark.wechat.enums.Status;

/**
 * 模板业务逻辑。
 * @auth Ben
 * @since 1.0.0
 * @version 1.0.0, 2017/8/6
 */
@Service("templateService")
public class TemplateServiceImpl {
	@Autowired
	private TemplateMapper templateMapper;
	
	/**
	 * 保存消息模板。
	 * @param template 消息模板对象。
	 */
	public void save(Template template) {
		if (null == template.getId()) {
			template.setStatus(Status.ENABLE.getValue());
			this.templateMapper.insert(template);
		} else {
			this.templateMapper.updateByPrimaryKey(template);
		}
	}
	
	/**
	 * 通过模板名称获取模板。
	 * @param name 模板名称。
	 * @return 模板对象。
	 */
	public Template getByName(String name) {
		Template template = this.templateMapper.selectByName(name);
		return template;
	}
	
	/**
	 * 获取所有正在使用的模板。
	 * @return 正在使用的模板列表。
	 */
	public List<Template> listEnable() {
		Map<String, Object> params = new HashMap<>();
		params.put("status", Status.ENABLE.getValue());
		List<Template> list = this.templateMapper.selectByParams(params);
		return list;
	}
}
